package com.kly.service;

import com.fqgj.common.api.Response;
import com.kly.dto.AllProductDto;
import com.kly.dto.ProductBenefitDto;
import com.kly.dto.ProductDto;
import com.kly.req.ProductConfigRequest;

import java.util.List;

/**
 * 产品配置相关服务类
 * @author linqu
 */
public interface ProductService {

    /**
     * 获取产品配置
     * @param appCode 应用码
     * @param productCategory 产品类目： 1-会员类 2-增值服务
     * @return 返回产品配置
     */
    Response<List<ProductDto>> queryProductsByProductCategory(String appCode, Integer productCategory);

    /**
     * 获取单条产品信息
     * @param appCode   应用码
     * @param productCode 产品码
     * @return  产品信息
     */
    Response<ProductDto> queryProductsByProductCode(String appCode, String productCode);

    /**
     * 获取产品配置
     * @param appCode 应用码
     * @return 返回产品配置
     */
    Response<List<AllProductDto>> queryAllProduct(String appCode);

    /**
     * 获取产品权益配置
     */
    Response<List<ProductBenefitDto>> listProductBenefit(String appCode, Integer productCategory);
    /**
     * 修改产品权益
     */
    Response addProductBenefit(String appCode, Integer productCategory, Integer benefitCode, Integer limitNum);
    /**
     * 修改产品描述文案
     */
    Response modifyProductBenefit(ProductConfigRequest productConfigRequest);
    /**
     * 删除产品描述文案
     */
    Response removeProductBenefit(String appCode, Integer benefitCode);

}
